/*
 * SquareModel.h
 *
 *  Created on: Dec 18, 2013
 *      Author: artech
 */

#ifndef SQUAREMODEL_H_
#define SQUAREMODEL_H_

#include <QSet>

class SquareModel
{
public:
   SquareModel(quint8 lineNb, quint8 columnNb);
   virtual ~SquareModel();

   quint8 getLineNb() const;
   quint8 getBaseLineNb() const;
   quint8 getColumnNb() const;
   quint8 getBaseColumnNb() const;
   quint8 getSquare9Nb() const;

   void setValue(quint8 value);
   quint8 getValue() const;

   bool popValue(quint8 value);
   bool doesValueBeFound() const;

private:
   quint8 _lineNb;
   quint8 _baseLineNb;
   quint8 _columnNb;
   quint8 _baseColumnNb;
   quint8 _square9Nb;
   QSet<quint8> _valueSet;
};

#endif /* SQUAREMODEL_H_ */
